home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 2.iso / heat_tst / nifty.cfg < prev    next >
Text File  |  1991-10-19  |  14KB  |  590 lines

  1. /*********************************************************************
  2. /*
  3. /*    NIFTY.CFG : NIFTY-Serve アクセス用コンフィグ・ファイル
  4. /*
  5. /*    TABSIZE = 4;
  6. /*
  7. /*    1991. 8.30    (MSS)
  8. /*
  9.  
  10. /*********************************************************************
  11. /*    Nifty-Serve : AUTO DIAL & LOGIN
  12. /*
  13. nifty_dial {
  14.     if ( NIF_MSS_LOAD )
  15.     {    cfg_load("nif_mss.cfg")            /* load MSS
  16.         NIF_MSS_LOAD = 1;
  17.     }
  18.     STR_CHK = ""
  19.     MENU_LEVEL = 0;                        /* MSS用メニューレベル
  20.     NIF_MSS_FLG = 0;                    /* モード変更用フラグ
  21.     HDL_SET = 0;                        /* メタキー設定用ワーク    */
  22.     UST_CHK = 0;                        /* ID チェック            */
  23.     DL_SET  = 0;                        /* ダウンロードファイル名設定
  24.  
  25. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  26. /*    電話番号は自分で書いてね
  27. /*
  28. #    DIAL     = "03-3739-9120A"
  29. #    FENIX = 1;                    /* FENIX Road 1    */
  30.  
  31.     DIAL     = "03-5703-0222M"
  32.     FENIX = 2;                    /* FENIX Road 2    */
  33. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  34.  
  35.     while ( _NIF_ID = "" )
  36.     {    while ( _NIF_PASSWORD = "" )
  37.         {    nif_setup()
  38.             if ( VAL ! 0 ) { return (-1) }
  39.         }
  40.     }
  41.     ID       = _NIF_ID;
  42.     PASSWORD = _NIF_PASSWORD;
  43.  
  44.     term_puts("ATZ\r")
  45.     term_switch( 5,"OK\r")
  46.     if ( VAL < 0 ) { return (-1)}
  47.  
  48. #    /* 第2モデム初期化コマンド
  49. #    term_puts("AT%2400\r")
  50. #    term_switch( 5,"OK\r")
  51. #    if ( VAL < 0 ) { return (-1)}
  52.  
  53.     tel_call()
  54.     if ( VAL < 0 ) { return (-1)}
  55.  
  56.     if ( FENIX = 2 )
  57.     {    /*----------------------------------
  58.         /*    NIFTY-Serve FENIX ROAD 2
  59.         /*----------------------------------
  60.         RETRY = 0;
  61.         bk = 0;
  62.         while ( bk = 0 )
  63.         {    wait(1)
  64.             term_puts("@P\r")
  65.             term_switch(10,"*")
  66.             if ( VAL = 0 )
  67.             {    /* '*'    */
  68.                 bk = 1;
  69.             } else
  70.             {    inc(RETRY)
  71.                 if ( RETRY > 5 ) { return (-1) }
  72.             }
  73.         }
  74.         RERTY = 0;
  75.         bk = 0;
  76.         while ( bk = 0 )
  77.         {    wait(1)
  78.             term_puts("C NIF\r")
  79.             wait(2)
  80.             term_instr(30," Enter Connection-ID  --->","*")
  81.             if ( VAL = 0 )
  82.             {    /* Connection-ID */
  83.                 bk = 1;
  84.             } else if ( VAL = 1 )
  85.             {    /* '*'    */
  86.                 inc(RETRY)
  87.                 if ( RETRY > 30 ) { return }
  88.             } else
  89.             {    /* TIME OUT
  90.                 return (-1)
  91.             }
  92.         }
  93.     } else
  94.     {    /*----------------------------------
  95.         /*    NIFTY-Serve FENIX ROAD 1
  96.         /*----------------------------------
  97.         RERTY = 0;
  98.         bk = 0;
  99.         while ( bk = 0 )
  100.         {    wait(1)
  101.             term_puts(".00+")
  102.             term_instr(30,"Enter Connection-ID  --->",
  103.                           ".1", ".2", ".3", ".4", ".5",
  104.                           ".6", ".7", ".8", ".9",
  105.                           "NO CARRIER" )
  106.             if ( VAL = 0 )
  107.             {    /* Connection-ID */
  108.                 bk = 1;
  109.             } else if ( VAL < 10 )
  110.             {    /* '*'    */
  111.                 inc(RETRY)
  112.                 if ( RETRY > 30 ) { return }
  113.             } else
  114.             {    /* TIME OUT or "NO CARRIER"    */
  115.                 return    (-1);
  116.             }
  117.         }
  118.     }
  119.  
  120.     wait(1)
  121.     term_puts("SVC\r")
  122.  
  123.     term_switch( 30, " Enter User-ID  --->")
  124.     if ( VAL < 0 ) { return (-1)}
  125.     wait(1)
  126.     term_puts("\(ID)\r")
  127.  
  128.     term_switch( 30, " Enter Password --->")
  129.     if ( VAL < 0 ) { return (-1)}
  130.     wait(1)
  131.     term_puts("\(PASSWORD)\r")
  132.  
  133.     return    (0)
  134. }
  135.  
  136. /*--------------------------------------------------------------------
  137. /*    パレットを黒にして入力文字を見せないようにする
  138. /*
  139. str_off {
  140.     wind_size_set(x,y,32,32)
  141.     wind_open()
  142.     graph("palette",7,0,0,0)
  143. }
  144. str_on {
  145.     graph("palette",7,176,176,192)
  146.     wind_close()
  147.     wind_init()
  148. }
  149.  
  150. nif_setup {
  151.     ID       = _NIF_ID;
  152.     PASSWORD = _NIF_PASSWORD;
  153.  
  154.     if ( ID = "" )
  155.     {    ID = "";
  156.         PASSWORD = "";
  157.     }
  158.     mosget("sw","x","y")
  159.     menu_input("ID",9, x,y, C_CYAN, "NIFTY-Serve のID を入力してください。:")
  160.     if ( VAL < 0 ) {    return    (-1) }
  161.  
  162.     str_off()
  163.     menu_input("PASSWORD",9, x,y, C_YELLOW, "NIFTY-Serve のパスワードを入力してください。:" )
  164.     RET = VAL;
  165.     if ( RET < 0 ) { str_on();    return    (-1) }
  166.  
  167.     PASSWORD2 = "";
  168.     menu_input("PASSWORD2",9, x,y, C_YELLOW, "もういちどパスワードを入力してください。" )
  169.     RET = VAL;
  170.     str_on()
  171.     if ( RET < 0 ) {    return    (-1) }
  172.  
  173.     if ( PASSWORD ! PASSWORD2 )
  174.     {    wind_open()
  175.         graph("symbol",65,56, 8,16, OPAQUE,C_RED,C_HWHITE, 1,0,0,1, "パスワードが違っています!!")
  176.         wait(5)
  177.         wind_close()
  178.         return    (-1)
  179.     }
  180.  
  181.     if ( RET < 0 ) {    return    (-1) }
  182.     strlen(PASSWORD)
  183.     LEN = VAL;
  184.     menu_yes_no(x,y,C_CYAN,"NIFTY-Serve の ID : \(ID)\x0Aパスワードは \(LEN) 文字指定されています。\x0A\x0A           よろしいですか?")
  185.     if ( VAL > 0 )
  186.     {    _NIF_ID       = ID;
  187.         _NIF_PASSWORD = PASSWORD;
  188.         return    (0)
  189.     }
  190.     return    (-1)
  191. }
  192.  
  193. /*********************************************************************
  194. /*    行入力コマンド
  195. /*    
  196. /*    【入力】    TCMD    コマンド
  197. /*
  198. TERM_cmdline {
  199.     strupr("TCMD",TCMD)
  200.     if ( TCMD = "U" )
  201.     {    NIFTY_RT_U()
  202.     } else if ( TCMD = "MYHP" )
  203.     {    NIFTY_MYHP()
  204.     } else if ( TCMD = "UST" )
  205.     {    NIFTY_UST(0)
  206.     } else if ( TCMD = "/UST" )
  207.     {    NIFTY_UST(1)
  208.     } else if ( TCMD = "MES" )
  209.     {    NIFTY_MES()
  210.     }
  211.     RET = ""
  212. }
  213.  
  214. /*******************************************************************
  215. /*    オートパイロット用 入力行チェックルーチン
  216. /*******************************************************************
  217. AUTO_line {
  218.     if ( STR_CHK ! "" )
  219.     {    instr(TLIN,STR_CHK)
  220.         if ( VAL > -1 )
  221.         {    STR_FLG = 1;
  222.         }
  223.     }
  224.     if ( UST_CHK > 0 )
  225.     {    _NIF_UST()
  226.     } else if ( HDL_SET ! 0 )
  227.     {    _NIF_HDL()
  228.     } else if ( DL_SET > 0 )
  229.     {    _NIF_DLS()
  230.     }
  231. }
  232.  
  233. /*********************************************************************
  234. /*
  235. /*    RT中に "/U" を実行し,
  236. /*    表示されたハンドルをメタキーの0~9に設定する
  237. /*
  238. NIFTY_RT_U {
  239.     syslin_puts(C_GREEN,C_MBLACK,"メタキーにハンドル名を設定します。")
  240.     HDL_SET = 0;
  241.     UST_CHK = 0;
  242.     HANDLE_MEMO = ""
  243.     meta = 1;
  244.     HDL_SET = 1;
  245.     term_puts("/U\r")
  246. }
  247.  
  248. _NIF_HDL {    /* AUTO_line()から呼び出される    */
  249.     /********************************/
  250.     /* ハンドル 自動設定 ルーチン    */
  251.     /********************************/
  252.     instr(TLIN,"\r")
  253.     if ( VAL > 0 )
  254.     {    get_word("TMP",TLIN,1)
  255.         if ( TMP ! "JOB" )
  256.         {    strmid("CH",TLIN,0,1)
  257.             if ( CH = "\x28" )    /* 0x28 = '('    */
  258.             {    HDL_SET = 0;
  259.             } else
  260.             {    get_word("HANDLE", TLIN, 4 );
  261.                 if ( HANDLE ! "" )
  262.                 {    if ( HANDLE ! HANDLE_MEMO )
  263.                     {    HANDLE_MEMO = HANDLE;
  264.                         if ( meta = 1 )
  265.                         {    meta_set("1",HANDLE )
  266.                         } else if ( meta = 2 )
  267.                         {    meta_set("2",HANDLE )
  268.                         } else if ( meta = 3 )
  269.                         {    meta_set("3",HANDLE )
  270.                         } else if ( meta = 4 )
  271.                         {    meta_set("4",HANDLE )
  272.                         } else if ( meta = 5 )
  273.                         {    meta_set("5",HANDLE )
  274.                         } else if ( meta = 6 )
  275.                         {    meta_set("6",HANDLE )
  276.                         } else if ( meta = 7 )
  277.                         {    meta_set("7",HANDLE )
  278.                         } else if ( meta = 8 )
  279.                         {    meta_set("8",HANDLE )
  280.                         } else if ( meta = 9 )
  281.                         {    meta_set("9",HANDLE )
  282.                         } else if ( meta = 10 )
  283.                         {    meta_set("0",HANDLE )
  284.                             HDL_SET = 0;
  285.                         }
  286.                         inc(meta)
  287.                     }
  288.                 }
  289.             }
  290.         }
  291.     }
  292. }
  293.  
  294. /*********************************************************************
  295. /*
  296. /*    HP 用
  297. /*
  298. NIF_ERR {
  299.     echo("\n\tなんかへん???\n")
  300.     wait(5)
  301.     wind_close()
  302. }
  303.  
  304. NIFTY_MYHP {
  305.     /* 自分のHPに行く    */
  306.     wind_close()
  307.     wind_init()
  308.  
  309.     echo("\n\t自分のHPにいくぜ!\n")
  310.  
  311.     wait(1)
  312.     term_puts("go HP\r")
  313.     wait(2)
  314.  
  315.     term_switch(30,">")
  316.     if ( VAL < 0 )    {    NIF_ERR();    return    (-1)    }
  317.     term_puts("1\r")
  318.  
  319.     term_switch(30,":")
  320.     term_puts("\(_NIF_ID)\r")
  321.     wait(2)
  322.  
  323.     term_switch(30,"HP>","◆")
  324.     if ( VAL < 0 )    {    NIF_ERR();    return    (-1)    }
  325.     if ( VAL = 1 )    {    NIF_ERR();    return    (-1)    }
  326.  
  327.     term_puts("guest\r")
  328.     wait(2)
  329.     term_switch(30,"HP>")
  330.     if ( VAL < 0 )    {    NIF_ERR();    return    (-1)    }
  331.     term_puts("read new\r")
  332.  
  333.     wind_close()
  334. }
  335.  
  336. /*******************************************************************
  337. /*
  338. /*    ID検索用
  339. /*
  340. NIFTY_UST {
  341.     syslin_puts(C_GREEN,C_MBLACK,"UST : ID 検索" )
  342.     mos_cursor(82)                        /* 時計カーソル
  343.     if ( PARA = 0 )
  344.     {    UST_CMD = "UST"
  345.     } else
  346.     {    UST_CMD = "/UST"
  347.     }
  348.     ID_LIST = ""
  349.     ID_COUNT = 0;
  350.     UST_CHK = 0;
  351.     HDL_SET = 0;
  352.  
  353.     getenv("DIR","NIFTY")
  354.     ID_FILE = "\(DIR)prof.dat"        /* ID登録用ファイル名    */
  355.  
  356.     getenv("TMP","TMP")
  357.     TMP_FILE = "\(TMP)\\_prof.dat")    /* 出力ファイル名    */
  358.  
  359. #    wait(1)
  360.     term_puts("\(UST_CMD)\r")
  361.     term_switch( 5,"◆番号又はコマンドを入力して下さい◆\r","\r")
  362.     if ( VAL < 1 ) { return }
  363.     UST_CHK = 1;
  364.     term_instr( 30, ">", ">","(","(")
  365.     if ( VAL < 0 ) { UST_CHK = 0; return }
  366. #    if ( UST_CHK < 0 )
  367. #    {    UST_CHK = 0;
  368.         NIF_ID_PRT()
  369. #    }
  370. }
  371.  
  372. _NIF_UST {    /* AUTO_line()から呼び出される    */
  373.     /* UST ID チェック    */
  374.     instr(TLIN,">")
  375.     if ( VAL > -1 ) { UST_CHK = -1; return }
  376.     instr(TLIN,">")
  377.     if ( VAL > -1 ) { UST_CHK = -1; return }
  378.     instr(TLIN,"\r")
  379.     if ( VAL > 5 )
  380.     {    /* 改行がある    */
  381.         autoline_bk = 0;
  382.         while ( autoline_bk = 0 )
  383.         {    autoline_id - TLIN;
  384.             shift(TLIN)
  385.             if ( autoline_id ! "" )
  386.             {    strlen(autoline_id)
  387.                 if ( VAL > 7 )
  388.                 {    /* mifind 用    */
  389.                     if ( ID_LIST = "" )
  390.                     {    ID_LIST = "\(autoline_id)"
  391.                         ID_COUNT = 1
  392.                     } else
  393.                     {    ID_LIST = "\(ID_LIST) \(autoline_id)"
  394.                         inc(ID_COUNT)
  395.                     }
  396.                 }
  397.             } else
  398.             {    autoline_bk = -1;    /* break    */
  399.             }
  400.         }
  401.     }
  402. }
  403.  
  404. NIF_ID_PRT {    /* 検索結果を出力する    */
  405.     wind_close()
  406.     wind_init()
  407.     UST_CHK = 0;
  408.  
  409.     if ( ID_COUNT = 0 ) { return }
  410.     wind_size_set(8,160,624,212)
  411.     wind_open2("ID チェック")
  412.     echo("\n\n\t検索中...\n")
  413.  
  414.     flag = 0;
  415.     bk = 0;
  416.     while ( bk = 0 )
  417.     {    id - ID_LIST;
  418.         shift(ID_LIST)
  419.         if ( id ! "" )
  420.         {    if ( flag = 0 )
  421.             {    system("find \x22\(id)\x22 \(ID_FILE)  > \(TMP_FILE)")
  422.                 flag = 1;
  423.             } else
  424.             {    system("find \x22\(id)\x22 \(ID_FILE) >> \(TMP_FILE)")
  425.             }
  426.         }
  427.         if ( ID_LIST = "" )
  428.         {    bk = 1;
  429.         }
  430.     }
  431.  
  432.     fopen( TMP_FILE,"rt")
  433.     PATH = VAL;
  434.     if ( PATH < 0 )
  435.     {    echo("FILE OPEN ERROR\n")
  436.         wait(10)
  437.         wind_close()
  438.         return
  439.     }
  440.     echo("\x0C")    /* CLS
  441.  
  442.     bk = 0;
  443.     count = 0;
  444.     while ( bk = 0 )
  445.     {    /* 表示    */
  446.         feof(PATH)
  447.         if ( VAL ! 0 )
  448.         {    /* EOF    */
  449.             bk = -1;
  450.         } else
  451.         {    fgets("STR",256,PATH)
  452.             if ( VAL < 0 )
  453.             {    /* error */
  454.                 bk = -1;
  455.             } else if ( VAL > 0 )
  456.             {    strmid("TMP",STR,0,1)
  457.                 if ( TMP ! "-" )
  458.                 {    echo("\(STR)\n")
  459.                     inc(count)
  460.                 }
  461.             }
  462.         }
  463.     }
  464.     fclose(PATH)
  465.     if ( count = 0 )
  466.     {    echo("\n 知ってる人はいないみたい…\n")
  467.     }
  468.     mos_cursor(81)                    /* ノーマル
  469.  
  470.     wait(30)
  471.     wind_close()
  472.     wind_init()
  473. }
  474.  
  475. /*====================================================================
  476. /*    ダウンロードファイル名設定
  477. /*
  478. _NIF_DLS {
  479. #    instr(TLIN,">")
  480. #    if ( VAL > -1 ) { DL_SET = -1; return }
  481.     instr(TLIN,"\r")
  482.     if ( VAL > -1 )
  483.     {    instr(TLIN,"データ名:")
  484.         if ( VAL > -1 )
  485.         {    DL_FL = TLIN;
  486.             strmid("DL_FILE", TLIN, 10,12)
  487.             DL_SET = -1;
  488.         }
  489.     }
  490. }
  491.  
  492. /*********************************************************************
  493. /*
  494. /*    会議室を読む
  495. /*
  496. NIFTY_MES {
  497.     syslin_puts(C_GREEN,C_MBLACK,"MES & MREAD")
  498.     mos_cursor(82)                        /* 時計カーソル
  499.     wait(1)
  500.     term_puts("MES\r")
  501.     term_instr( 30,"会議室","発言",)
  502.     if ( VAL < 0 ) { mos_cursor(81); return }
  503.     MES_GET = 1;
  504.     MES_COUNT = 0;
  505.     term_switch(30,">",">")
  506.     mos_cursor(81)
  507.     if ( VAL < 0 ) { return }
  508.     _NIF_MES_SET()
  509. }
  510.  
  511. _NIF_MESsub_makeObj {
  512.     TMP=ROOM_BIT;and("TMP",0x00001);if(TMP=0){D01="  会議室-01-";} else {D01="★会議室-01-";}
  513.     TMP=ROOM_BIT;and("TMP",0x00002);if(TMP=0){D02="  会議室-02-";} else {D02="★会議室-02-";}
  514.     TMP=ROOM_BIT;and("TMP",0x00004);if(TMP=0){D03="  会議室-03-";} else {D03="★会議室-03-";}
  515.     TMP=ROOM_BIT;and("TMP",0x00008);if(TMP=0){D04="  会議室-04-";} else {D04="★会議室-04-";}
  516.     TMP=ROOM_BIT;and("TMP",0x00010);if(TMP=0){D05="  会議室-05-";} else {D05="★会議室-05-";}
  517.     TMP=ROOM_BIT;and("TMP",0x00020);if(TMP=0){D06="  会議室-06-";} else {D06="★会議室-06-";}
  518.     TMP=ROOM_BIT;and("TMP",0x00040);if(TMP=0){D07="  会議室-07-";} else {D07="★会議室-07-";}
  519.     TMP=ROOM_BIT;and("TMP",0x00080);if(TMP=0){D08="  会議室-08-";} else {D08="★会議室-08-";}
  520.     TMP=ROOM_BIT;and("TMP",0x00100);if(TMP=0){D09="  会議室-09-";} else {D09="★会議室-09-";}
  521.     TMP=ROOM_BIT;and("TMP",0x00200);if(TMP=0){D10="  会議室-10-";} else {D10="★会議室-10-";}
  522.     TMP=ROOM_BIT;and("TMP",0x00400);if(TMP=0){D11="  会議室-11-";} else {D11="★会議室-11-";}
  523.     TMP=ROOM_BIT;and("TMP",0x00800);if(TMP=0){D12="  会議室-12-";} else {D12="★会議室-12-";}
  524.     TMP=ROOM_BIT;and("TMP",0x01000);if(TMP=0){D13="  会議室-13-";} else {D13="★会議室-13-";}
  525.     TMP=ROOM_BIT;and("TMP",0x02000);if(TMP=0){D14="  会議室-14-";} else {D14="★会議室-14-";}
  526.     TMP=ROOM_BIT;and("TMP",0x04000);if(TMP=0){D15="  会議室-15-";} else {D15="★会議室-15-";}
  527.     TMP=ROOM_BIT;and("TMP",0x08000);if(TMP=0){D16="  会議室-16-";} else {D16="★会議室-16-";}
  528.     TMP=ROOM_BIT;and("TMP",0x10000);if(TMP=0){D17="  会議室-17-";} else {D17="★会議室-17-";}
  529.     TMP=ROOM_BIT;and("TMP",0x20000);if(TMP=0){D18="  会議室-18-";} else {D18="★会議室-18-";}
  530.     TMP=ROOM_BIT;and("TMP",0x40000);if(TMP=0){D19="  会議室-19-";} else {D19="★会議室-19-";}
  531.     TMP=ROOM_BIT;and("TMP",0x80000);if(TMP=0){D20="  会議室-20-";} else {D20="★会議室-20-";}
  532. }
  533.  
  534. _NIF_MES_SET {
  535.     bk = 0;
  536.     ROOM_BIT = 0; /* 読む会議室のビットがセットされる    */
  537.     while ( bk = 0 )
  538.     {    _NIF_MESsub_makeObj()
  539.         menu_select(512,32,"会議室選択",
  540.             "すべての会議室",
  541.             D01,D02,D03,D04,D05,D06,D07,D08,D09,D10,
  542.             D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,
  543.             "    実行"
  544.         )
  545.         if ( VAL < 0 )
  546.         {    CMD = "";
  547.             return
  548.         } else if ( VAL = 0 )
  549.         {    /* mread all */
  550.             CMD = "MREAD";
  551.             bk = 1;
  552.         } else if ( VAL < 21 )
  553.         {    TMP = VAL;
  554.             dec(TMP)
  555.             expr("BIT","1<<\(TMP)")
  556.             xor("ROOM_BIT",BIT)            /* ビット反転
  557.         } else if ( VAL = 21 )
  558.         {    /* 実行    */
  559.             if ( ROOM_BIT = 0 )
  560.             {    CMD = ""
  561.             } else
  562.             {    ROOM = "ROOM:"
  563.                 COUNT = 0;
  564.                 FLG = 0;
  565.                 while ( COUNT < 20 )
  566.                 {    expr("BIT","1<<\(COUNT)")
  567.                     expr("TMP","\(ROOM_BIT)&\(BIT)")
  568.                     if ( TMP ! 0 )
  569.                     {    NO = COUNT;
  570.                         inc(NO)            /* 会議室番号    */
  571.                         if ( FLG = 0 )
  572.                         {    ROOM = "\(ROOM)\(NO)"
  573.                             FLG = 1;
  574.                         } else
  575.                         {    ROOM = "\(ROOM),\(NO)"
  576.                         }
  577.                     }
  578.                     inc(COUNT)
  579.                 }
  580.                 CMD = "MREAD \(ROOM)"
  581.             }
  582.             bk = 1;
  583.         }
  584.     }
  585.     if ( CMD ! "" )
  586.     {    term_puts("\(CMD)\r")
  587.     }
  588. }
  589.  
  590.